//package com.quartet.modules.equipment.controller;
//
//
//import cn.hutool.core.bean.BeanUtil;
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.baomidou.mybatisplus.extension.api.ApiController;
//import com.quartet.api.ApiResult;
//import com.quartet.api.PageResult;
//import com.quartet.modules.equipment.dto.TStockInfoRequestDto;
//import com.quartet.modules.equipment.dto.TStockInfoResponseDto;
//import com.quartet.modules.equipment.entity.TStockInfo;
//import com.quartet.modules.equipment.service.TStockInfoService;
//import com.quartet.validation.AddValidation;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import javax.annotation.Resource;
//import java.util.List;
//import java.util.stream.Collectors;
//
///**
// * 库存信息表(TStockInfo)表控制层
// *
// * @author makejava
// * @since 2021-05-04 16:51:21
// */
//@RestController
//@RequestMapping("tStockInfo")
//@Slf4j
//@Api(tags = "业务：库存管理")
//public class TStockInfoController  {
//    /**
//     * 服务对象
//     */
//    @Resource
//    private TStockInfoService tStockInfoService;
//
//    /**
//     * 分页查询所有数据
//     *
//     * @param tStockInfoRequestDto 查询实体
//     * @return 所有数据
//     */
//    @ApiOperation("分页查询所有库存管理")
//    @PostMapping("/query-page")
//    public ApiResult<PageResult<TStockInfoResponseDto>> selectStockPage(@RequestBody TStockInfoRequestDto tStockInfoRequestDto) {
//        log.info("---------selectStockPage begin, tStockInfoRequestDto is {}----------", tStockInfoRequestDto);
////        IPage<TStockInfo> page = new Page<>(tStockInfoResquestDto.getCurrent(), tStockInfoResquestDto.getLimit());
////        QueryWrapper<TStockInfo> queryWrapper = new QueryWrapper<>();
////        if (!CollectionUtils.isEmpty(tStockInfoResquestDto.getCustomerCodeList())) {
////            queryWrapper.lambda().in(TStockInfo::getCustomerCode, tStockInfoResquestDto.getCustomerCodeList());
////        }
////
////        if (!InventoryStatusEnum.ALL.getValue().equals(tStockInfoResquestDto.getInventoryStatus())) {
////            queryWrapper.lambda().like(TStockInfo::getInventoryStatus, tStockInfoResquestDto.getInventoryStatus());
////        }
////
////        //暂时不包括车牌号查询  后面改造
////        if (StringUtils.isNotBlank(tStockInfoResquestDto.getQuickQueryValue())) {
////            queryWrapper.lambda().and(wrapper -> wrapper.like(TStockInfo::getEquipmentCode, tStockInfoResquestDto.getQuickQueryValue())
////                    .or().like(TStockInfo::getFlowCardNumber, tStockInfoResquestDto.getQuickQueryValue()));
////        }
////
////        if (StringUtils.isNotBlank(tStockInfoResquestDto.getField())) {
////            queryWrapper.orderBy(true, tStockInfoResquestDto.isAsc(), tStockInfoResquestDto.getField());
////        } else {
////            queryWrapper.orderBy(true, tStockInfoResquestDto.isAsc(), MapServerConstant.CREATE_TIME);
////        }
////        IPage<TStockInfo> dbResult = tStockInfoService.page(page, queryWrapper);
////
////        PageResult<TStockInfoResponseDto> pageResult = new PageResult();
////        List<TStockInfoResponseDto> tStockInfoResponseDtoList = dbResult.getRecords().stream().map(tStockInfo -> {
////            TStockInfoResponseDto tStockInfoResponseDto = BeanUtil.copyProperties(tStockInfo, TStockInfoResponseDto.class);
////            return tStockInfoResponseDto;
////        }).collect(Collectors.toList());
////        pageResult.setTotal(dbResult.getTotal());
////        pageResult.setData(tStockInfoResponseDtoList);
////        log.info("---------selectStockPage end, data is {}----------", pageResult);
//        PageResult pageResult = tStockInfoService.selectStockByCondition(tStockInfoRequestDto);
//        return ApiResult.ok(pageResult);
//    }
//
//    /**
//     * 通过主键查询单条数据
//     *
//     * @param id 主键
//     * @return 单条数据
//     */
//    @ApiOperation("通过主键查询单条库存管理")
//    @GetMapping("/getStockById")
//    public ApiResult<TStockInfoResponseDto> getStockById(@RequestParam("id") String id) {
//        TStockInfo tStockInfo = this.tStockInfoService.getById(id);
//        TStockInfoResponseDto tStockInfoResponseDto = BeanUtil.copyProperties(tStockInfo, TStockInfoResponseDto.class);
//        return ApiResult.ok(tStockInfoResponseDto);
//    }
//
//    /**
//     * 新增数据
//     *
//     * @param tStockInfoRequestDto 实体对象
//     * @return 新增结果
//     */
//    @ApiOperation("新增库存管理")
//    @PostMapping("/add")
//    public ApiResult add(@RequestBody @Validated(AddValidation.class) TStockInfoRequestDto tStockInfoRequestDto) {
//        log.info("---------addStock begin, tStockInfoRequestDto is {}----------", tStockInfoRequestDto);
//        TStockInfo tStockInfo = BeanUtil.copyProperties(tStockInfoRequestDto, TStockInfo.class);
//        return ApiResult.ok(this.tStockInfoService.save(tStockInfo));
//    }
//
//    /**
//     * 修改数据
//     *
//     * @param tStockInfoRequestDto 实体对象
//     * @return 修改结果
//     */
//    @ApiOperation("修改库存管理")
//    @PutMapping("/update")
//    public ApiResult update(@RequestBody TStockInfoRequestDto tStockInfoRequestDto) {
//        log.info("---------updateStock begin, tStockInfoRequestDto is {}----------", tStockInfoRequestDto);
//        TStockInfo tStockInfo = BeanUtil.copyProperties(tStockInfoRequestDto, TStockInfo.class);
//        return ApiResult.ok(this.tStockInfoService.updateById(tStockInfo));
//    }
//
//    /**
//     * 删除数据
//     *
//     * @param id 主键结合
//     * @return 删除结果
//     */
//    @ApiOperation("删除库存管理")
//    @DeleteMapping("/delete")
//    public ApiResult delete(@RequestParam("id") Integer id) {
//        log.info("---------deleteStock begin, id is {}----------", id);
//        return ApiResult.ok(this.tStockInfoService.removeById(id));
//    }
//
//    /**
//     * 获取设备编码集合
//     *
//     * @param keyword 关键字
//     * @return 删除结果
//     */
//    @ApiOperation("获取设备编码集合")
//    @DeleteMapping("/getEquipmentCodeList")
//    public ApiResult getEquipmentCodeList(@RequestParam("keyword") String keyword) {
//        log.info("---------getEquipmentCodeList begin, keyword is {}----------", keyword);
//        QueryWrapper<TStockInfo> queryWrapper = new QueryWrapper<>();
//        queryWrapper.lambda().like(TStockInfo::getEquipmentCode, keyword);
//        List<TStockInfo> tStockInfoList = tStockInfoService.list(queryWrapper);
//        List<String> equipmentCodeList = tStockInfoList.stream().map(tStockInfo -> tStockInfo.getEquipmentCode()).collect(Collectors.toList());
//        return ApiResult.ok(equipmentCodeList);
//    }
//}
